// node 类用来表示节点
class Node {
    constructor(el) {
        this.el = el;
        this.next = null;
    }
}
// LinkedList 类用来节点的插入 删除 查找
class LinkedList {
    constructor() {
            this.head = new Node('head');
        }
        //查找
    find(item) {
            let currentNode = this.head; //指向头结点
            while (currentNode && currentNode.el !== item) {
                currentNode = currentNode.next; //如果链表不为指向null或者不是目标节点，就继续遍历
            }
            return currentNode; //返回查找到的节点
        }
        //插入节点
    insert(el, item) {
            const newNode = new Node(el); //先创建一个要插入的节点
            const currentNode = this.find(item); //用find()查找到插入节点的位置
            newNode.next = currentNode.next;
            currentNode.next = newNode;
        }
        //删除节点
    findprev(item) { //此函数用来找到要删除的节点的上一个结点
        let node = this.head;
        while (node.next !== null && node.next.el !== item) {
            node = node.next;
        }
        return node;
    }
    remove(item) {
        const prevnode = this.findprev(item);
        if (prevnode.next !== null) {
            prevnode.next = prevnode.next.next;
        }

    }
}